1. Field of the Invention
The present invention relates to managing enhanced write caching.
2. Description of Prior Art
Data storage systems are used within computer networks and systems to store large amounts of data, e.g., data that is used by multiple servers and client computers (“hosts”). Generally, one or more servers are connected to the storage system, e.g., to supply data to and from a computer network. The data may be transferred through the network to various users or clients. The data storage system generally comprises a controller (“storage processor” or “SP”) that interacts with one or more storage devices such as one or more magnetic or solid state disk drives or other forms of data storage. To facilitate uninterrupted operation of the server as it reads and writes data from and to the storage system, as well as executes application programs for use by users, the storage system comprises a write cache that allows data from the server to be temporarily stored in the write cache prior to being written to a storage device. As such, the server can send data to the storage system and quickly be provided an acknowledgement that the storage system has stored the data. The acknowledgement is sent even though the storage system has only stored the data in the write cache and is waiting for an appropriate, convenient time to store the data in a storage device. As is well known in the art, storing data to a write cache is typically much faster than storing data directly to a disk drive. Consequently, the write cache buffers a large amount of data in anticipation of subsequent storing of that data in a storage device.
One conventional data storage system includes two storage processors and an array of disk drives. Each storage processor includes, among other things, a local write cache. The local write caches mirror each other. Mirroring the cache protects data in the event of a storage processor failure.
During operation, the storage processors perform read and write operations on behalf of one or more external hosts. Since the contents of the local write caches are mirrored, the storage processors initially attend to write operations in a write-back manner. That is, the write policy employed by the storage processors involves acknowledging host write operations once the write data is stored in both write caches. By the time the external hosts receive such acknowledgement, the storage processors may not have yet evicted the write data from the write caches to the array of disk drives.